package com.sc.mapper;

import com.sc.pojo.Post;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PostMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Post record);

    int insertSelective(Post record);

    Post selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Post record);

    int updateByPrimaryKey(Post record);

    List<Post> show();

    List<Post> mgrShow();

    List<Post> showMine(Integer writerid);

    List<Post> showHome(Integer writerid);

    List<Post> supportPost(Integer userId);

    List<Post> commentPost(Integer userId);

    List<Post> clickPost(Integer userId);

    List<Post> search(Post post);

    List<Post> mgrSearch(Post post);

    //帖子点击量加1
    int addClick(Integer id);
    //用户_点击表增加一条记录
    int addUserClick(@Param("postid") Integer postid,@Param("clickid") Integer clickid);

    //查出点赞该帖子的人
     List<Integer> queryGoodId(Integer id) ;

    //帖子点击量加1
    int addSupport(Integer id);
    //用户_点击表增加一条记录
    int addUserSupport(@Param("postid") Integer postid,@Param("supportid") Integer supportid);

    //帖子点击量减1
    int cancelSupport(Integer id);
    //用户_点击表增加一条记录
    int delUserSupport(@Param("postid") Integer postid,@Param("supportid") Integer supportid);

    //删除帖子的所有评论
    int delCommentsByPostId(Integer postid);

    //删除该帖子的点击记录
    int delPostClickByPostId(Integer postid);

    //删除该帖子的点赞记录
    int delPostSupportByPostId(Integer postid);

    //删除该帖子的评论记录
    int delPostCommentByPostId(Integer postid);

    //查出该人获得的点赞数
    int homeSupports(Integer id);

    //给该帖子置顶
    int top(Integer id);

    int cancelTop(Integer id);

    //给该帖子加精
    int good(Integer id);

    int cancelGood(Integer id);

    //封禁
    int ban(Integer id);

    int cancelBan(Integer id);
}